package com.wing.purchase.model.response;

import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import com.fasterxml.jackson.annotation.JsonFormat;

import java.time.LocalDateTime;
import java.math.BigDecimal;

/**
 * 采购签收产品VO
 *
 * @author
 */
@Data
@NoArgsConstructor
@Accessors(chain = true)
public class PurchaseSignForProductVO {

    /**
     * ID
     */
    private Long id;

    /**
     * 创建时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;

    /**
     * 创建者
     */
    private Long creator;

    /**
     * 修改者
     */
    private Long modifier;

    /**
     * 创建人
     */
    private String creatorName;

    /**
     * 修改人
     */
    private String modifierName;

    /**
     * 签收ID
     */
    private Long purchaseSignForId;

    /**
     * 出入库类型
     */
    private Long inventoryType;

    /**
     * 出入库类型编码
     */
    private String inventoryTypeCode;

    /**
     * 签收产品ID
     */
    private Long signProductId;

    /**
     * 签收数量
     */
    private BigDecimal signNum;

    /**
     * 发货数量
     */
    private BigDecimal quantity;

    /**
     * 采购数量
     */
    private BigDecimal purchaseQuantity;

    /**
     * 产品类型ID
     */
    private Long productTypeId;

    /**
     * 产品类型名称
     */
    private String productTypeName;

    /**
     * 产品ID
     */
    private Long productDetailId;

    /**
     * 产品图片
     */
    private String productPic;

    /**
     * 产品SKU编号
     */
    private String skuCode;

    /**
     * 产品SKU名称
     */
    private String skuName;

    /**
     * 规格号
     */
    private String skuSpec;

    /**
     * 计价单位
     */
    private String unitName;

    /**
     * 已签收数
     */
    private BigDecimal hasSignQuantity;

    /**
     * 税率
     */
    private BigDecimal rate;

    /**
     * 含税单价
     */
    private BigDecimal taxPrice;

    /**
     * 单价
     */
    private BigDecimal price;

    /**
     * 金额
     */
    private BigDecimal amount;

    /**
     * 税额
     */
    private BigDecimal tax;

    /**
     * 合计金额
     */
    private BigDecimal totalAmount;

    /**
     * 已入库作业数
     */
    private BigDecimal hasStorageWorkQuantity;

    /**
     * 包装名称
     */
    private String packName;

    /**
     * 基础单位
     */
    @TableField(exist = false)
    private Long baseUnit;

    /**
     * 基础单位名称
     */
    @TableField(exist = false)
    private String baseUnitName;

    /**
     * 主计量方式
     */
    @TableField(exist = false)
    private String mainCalWay;

    /**
     * 主计量方式名称
     */
    @TableField(exist = false)
    private String mainCalWayName;

    /**
     * 主计量单位
     */
    @TableField(exist = false)
    private Long mainUnitId;

    /**
     * 主计量单位名称
     */
    @TableField(exist = false)
    private String mainUnitName;

    /**
     * 主计量单位换算率
     */
    @TableField(exist = false)
    private String mainUnitRate;

    /**
     * 辅计量方式
     */
    @TableField(exist = false)
    private String subCalWay;

    /**
     * 辅计量方式名称
     */
    @TableField(exist = false)
    private String subCalWayName;

    /**
     * 辅计量单位
     */
    @TableField(exist = false)
    private Long subUnitId;

    /**
     * 辅计量单位名称
     */
    @TableField(exist = false)
    private String subUnitName;

    /**
     * 辅计量单位换算率
     */
    @TableField(exist = false)
    private String subUnitRate;

    /**
     * 计量单位Code
     */
    private String unitCode;


    /**
     * 计量单位id
     */
    private String unitId;


    private String productName;


    private String supplierName;

    private String supplierId;

    private String supplierCode;


}
